选择器样式

通过该属性,你可以自定义视图层次结构中选择器(Picker)的外观和行为。


属性声明

1pickerStyle?: PickerStyle;

描述

pickerStyle 属性用于设置选择器的视觉样式,使其能够适应不同的上下文和用户体验需求。


可接受的值

pickerStyle 属性接受以下字符串值:

  • automatic:默认选择器样式,根据选择器的上下文进行适配。
  • inline:将每个选项内嵌显示在当前容器中的其他视图之间。
  • menu:当用户按下按钮时,将选项作为菜单显示,或者作为嵌套菜单的一部分。
  • navigationLink:通过导航链接将选项呈现为推送列表样式的选择器视图。
  • palette:将选项以紧凑元素行的形式呈现。
  • segmented:以分段控件的形式显示选项。
  • wheel:将选项显示为可滚动的轮状视图,同时展示所选选项及其附近的一些选项。

默认行为

如果未指定 pickerStyle,则根据选择器的上下文自动应用默认样式(automatic)。


使用示例

以下示例展示了如何在 TypeScript 代码中应用 pickerStyle 属性:

示例 1:内嵌样式 (Inline Style)

1function View() {
2  const [value, setValue] = useState(0)
3
4  return <Picker
5    title="选择器"
6    pickerStyle="inline"
7    value={value}
8    onChanged={(value) => {
9      setValue(value)
10      console.log('选择了:', value)
11    }}
12  >
13    <Text tag={0}>选项 1</Text>
14    <Text tag={1}>选项 2</Text>
15    <Text tag={2}>选项 3</Text>
16  </Picker>
17}

此示例创建了一个内嵌样式的选择器。


示例 2:分段样式 (Segmented Style)

1function View() {
2  const [value, setValue] = useState(0)
3
4  return <Picker
5    title="选择器"
6    pickerStyle="segmented"
7    value={value}
8    onChanged={(value) => {
9      setValue(value)
10      console.log('选择了:', value)
11    }}
12  >
13    <Text tag={0}>选项 1</Text>
14    <Text tag={1}>选项 2</Text>
15    <Text tag={2}>选项 3</Text>
16  </Picker>
17}

此示例创建了一个以分段控件形式显示的选择器。


示例 3:滚轮样式 (Wheel Style)

1function View() {
2  const [value, setValue] = useState(0)
3
4  return <Picker
5    title="选择器"
6    pickerStyle="wheel"
7    value={value}
8    onChanged={(value) => {
9      setValue(value)
10      console.log('选择了:', value)
11    }}
12  >
13    <Text tag={0}>选项 1</Text>
14    <Text tag={1}>选项 2</Text>
15    <Text tag={2}>选项 3</Text>
16  </Picker>
17}

此示例创建了一个滚轮样式的选择器。


注意事项

  • pickerStyle 属性直接映射到 SwiftUI 的 pickerStyle 修饰符。
  • 确保传入的字符串值与上述预定义样式之一匹配,以避免运行时错误。

通过使用 pickerStyle,你可以根据不同的上下文自定义选择器的外观,从而提供流畅的用户体验。